package com.zw.a.basic.a08.demo02_object;

//案例: 演示Object#equals()方法
/*
    Object类的equals()方法
        public boolean equals(Object obj);  比较两个对象是否相同, 默认比较的是地址值.

    结论:   记忆
        1. Object类的equals()方法,  默认比较的是两个对象的地址值是否相同, 无意义,
           子类一般都会重写该方法, 改为比较对象的各个属性值.
        2. 实际开发中, 我们认为, 如果同一个类型的两个对象, 各个属性值都相同, 那么它们就是同一个对象.
 */
public class StudentDemo02 {
    public static void main(String[] args) {
        Student s1 = new Student("刘亦菲", 33);
        Student s2 = new Student("刘亦菲", 33);

        //比较: 引用类型.
        System.out.println(s1 == s2);               //false,  比较地址值.
        System.out.println(s1.equals(s2));          //true,   重写后, 比较的是: 对象的属性值.
        System.out.println("-----------------");


        //比较: 基本类型
        System.out.println(10 == 20);               //比较的是: 数值
        //System.out.println(10.equals(10));        //这样写会报错.
    }
}
